For many information handling systems, it is desirable to be able to execute more than one command at a time. One example is data storage devices which have a longitudinal media, such as magnetic tape drives, or a cyclic media, such as optical disk or magnetic disk drives. Executing more than one command at a time allows the data storage device to optimize commands based on the position of the data on the data storage media, caching status, and the proximity of sequential data for multiple operations.
In the example of Serial Attached SCSI (SAS) architecture, command sequence numbers may be used, whereby an unique, one-byte value is issued with each command, and is presented by either the initiator or target with each command, data or status transfer as part of the nexus that is established to accomplish a particular transaction. The SAS architecture allows up to 64K outstanding commands to be issued before the command queue is full, and no more commands can be issued until an issued command completes.
Because typical devices under test, such as data storage devices, can execute commands relatively rapidly, it is difficult to fill the queue of a SAS device as it is tested to verify that the queuing algorithms are functioning properly.
An approach for an alternative environment, such as parallel SCSI, is described by copending, coassigned U.S. patent application Ser. No. 10/812,326, which comprises a reconnection inhibitor which inhibits an Input/Output (I/O) controller from accessing a bus. An initiator transmits I/O requests on the bus to the controller, wherein the I/O requests are queued in an I/O queue, wherein the I/O controller is inhibited by the reconnection inhibitor from gaining access to the bus to drain the queue.